<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 transitional//EN">
<html>
<head>
<title> Element (Eclipse BIRT ROM Documentation)</title>
<link rel="stylesheet" href="style/style.css" type="text/css"/>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<p class="title">Eclipse BIRT Report Object Model (ROM)</p>
<p class="subtitle">Property Types</p>
<h1>Property Types</h1>
<table class="summary-table">
<div class="section-text">
<p>The following lists the 
data types used within this specification. The JavaScript types below are the 
types of the design-time information. See the specification if there is an 
additional run-time type. (For example, an expression is a string at design 
time, but will evaluate to a string or integer or other value at runtime.)</p><p>A property can be a list: 
in this case the property is a list of values such as structures, strings, etc.</p><h4>Property Lists</h4><p>A list property is defined as being a &quot;list of x&quot; where x can be one of the 
simple data types, or one of the structures defined below. A list property is 
represented as an array in JavaScript. For example, the list of custom colors 
for a report design is represented by a list property. The following obtains the 
structure that defines the third custom color:</p><pre class="code-block">var colorDefn = designDefn.palette[ 2 ];</pre><p>A property list is composed of a series of values. In general, the values 
appear in the list in the same order that they appear in the report design XML 
file, which generally reflects the order in which they were created in the UI.</p></div>
<hr>
<h2><a name="boolean">boolean</a></h2>
<div class="section-text">
A simple true/false value.</div>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Display Name:</td>
<td>Boolean</td></tr>
<tr><td>Since:</td>
<td>1.0</td></tr>
<tr><td>XML Name:</td>
<td><code>boolean</code></td></tr>
<tr><td>JavaScript Design Type:</td>
<td></td></tr>
<tr><td>JavaScript Runtime Type:</td>
<td></td></tr>
</table>

<h3>Description</h3>

<div class="section-text">
<p>Provides a simple true/false value. The values are represented by the 
JavaScript true and false values in scripts and expressions. They are 
represented as &quot;true&quot; and &quot;false&quot; in the XML file.</p></div>
<hr>
<h2><a name="choice">choice</a></h2>
<div class="section-text">
The value must be selected from a predefined list of choices.</div>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Display Name:</td>
<td>Choice</td></tr>
<tr><td>Since:</td>
<td>1.0</td></tr>
<tr><td>XML Name:</td>
<td><code>choice</code></td></tr>
<tr><td>JavaScript Design Type:</td>
<td></td></tr>
<tr><td>JavaScript Runtime Type:</td>
<td></td></tr>
</table>

<h3>Description</h3>

<div class="section-text">
<p>The choice property type indicates that a property provides a fixed set of 
choices. Any property of this type must also provide a separate list of the 
choices. The list of choices is defined as a separate named &quot;choice set.&quot;</p></div>
<hr>
<h2><a name="color">color</a></h2>
<div class="section-text">
An RGB color value or color name.</div>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Display Name:</td>
<td>Color</td></tr>
<tr><td>Since:</td>
<td>1.0</td></tr>
<tr><td>XML Name:</td>
<td><code>color</code></td></tr>
<tr><td>JavaScript Design Type:</td>
<td></td></tr>
<tr><td>JavaScript Runtime Type:</td>
<td></td></tr>
</table>

<h3>Description</h3>

<div class="section-text">
<p>Represents a color. Colors can use the CSS color names, a CSS-format RGB 
value (#RRGGBB), or a custom color name defined within the report.</p></div>
<hr>
<h2><a name="contentElement">contentElement</a></h2>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Display Name:</td>
<td>Element as Property Value</td></tr>
<tr><td>Since:</td>
<td>1.0</td></tr>
<tr><td>XML Name:</td>
<td><code>contentElement</code></td></tr>
<tr><td>JavaScript Design Type:</td>
<td></td></tr>
<tr><td>JavaScript Runtime Type:</td>
<td></td></tr>
</table>

<hr>
<h2><a name="dateTime">dateTime</a></h2>
<div class="section-text">
A date/time value.</div>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Display Name:</td>
<td>DateTime</td></tr>
<tr><td>Since:</td>
<td>1.0</td></tr>
<tr><td>XML Name:</td>
<td><code>dateTime</code></td></tr>
<tr><td>JavaScript Design Type:</td>
<td></td></tr>
<tr><td>JavaScript Runtime Type:</td>
<td></td></tr>
</table>

<h3>Description</h3>

<div class="section-text">
<p>A date/time value in (what format?) Not used in Release 1.</p></div>
<hr>
<h2><a name="dimension">dimension</a></h2>
<div class="section-text">
A physical dimension.</div>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Display Name:</td>
<td>Dimension</td></tr>
<tr><td>Since:</td>
<td>1.0</td></tr>
<tr><td>XML Name:</td>
<td><code>dimension</code></td></tr>
<tr><td>JavaScript Design Type:</td>
<td></td></tr>
<tr><td>JavaScript Runtime Type:</td>
<td></td></tr>
</table>

<h3>Description</h3>

<div class="section-text">
<p>A CSS dimension. The units are expressed as a floating point number such as 
&quot;1.25&quot;. To override that default, specify a suffix as one of &quot;in&quot; (inches), &quot;mm&quot; 
(millimeters), &quot;cm&quot; (centimeters), &quot;pt&quot; (points), &quot;pc&quot; (picas), &quot;%&quot; (percent), 
&quot;em&quot; (&quot;em&quot; size for the current font) or &quot;ex&quot; (&quot;ex&quot; size for the current font.)</p>

<p>A dimension is a physical measurement. Dimensions always have a unit. 
Supported units include the following defined in CSS:</p>

<table class="section-table">
  <thead>
    <tr>
      <td>Unit Suffix</td>
      <td>Meaning</td>
    </tr>
  </thead>
  <tr>
    <td>cm</td>
    <td>Centimeters</td>
  </tr>
  <tr>
    <td>in</td>
    <td>Inches</td>
  </tr>
  <tr>
    <td>mm</td>
    <td>Millimeters</td>
  </tr>
  <tr>
    <td>pt</td>
    <td>Points (1/72 of an inch)</td>
  </tr>
  <tr>
    <td>pc</td>
    <td>Pica (1 pica is equal to 12 points)</td>
  </tr>
  <tr>
    <td>px</td>
    <td>Pixels. (For print, see the CSS spec. A 
    pixel is about 0.21 mm.)</td>
  </tr>
  <tr>
    <td>em</td>
    <td>ems, the height of the element's font</td>
  </tr>
  <tr>
    <td>ex</td>
    <td>x-height, the height of the letter 'x'</td>
  </tr>
  <tr>
    <td>%</td>
    <td>Percentage. The definition of each property identifies the container 
    property from which the value is computed.</td>
  </tr>
</table></div>
<hr>
<h2><a name="element">element</a></h2>
<div class="section-text">
A reference to another element in the design.</div>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Display Name:</td>
<td>Element</td></tr>
<tr><td>Since:</td>
<td>1.0</td></tr>
<tr><td>XML Name:</td>
<td><code>element</code></td></tr>
<tr><td>JavaScript Design Type:</td>
<td></td></tr>
<tr><td>JavaScript Runtime Type:</td>
<td></td></tr>
</table>

<h3>Description</h3>

<div class="section-text">
<p>A reference to another element in the design. BIRT automatically updates the 
property when the name of the referenced element changes. BIRT will issue an 
error if the target element does not exist.</p></div>
<hr>
<h2><a name="elementRef">elementRef</a></h2>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Display Name:</td>
<td>Element Reference</td></tr>
<tr><td>Since:</td>
<td>1.0</td></tr>
<tr><td>XML Name:</td>
<td><code>elementRef</code></td></tr>
<tr><td>JavaScript Design Type:</td>
<td></td></tr>
<tr><td>JavaScript Runtime Type:</td>
<td></td></tr>
</table>

<hr>
<h2><a name="expression">expression</a></h2>
<div class="section-text">
A JavaScript expression.</div>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Display Name:</td>
<td>Expression</td></tr>
<tr><td>Since:</td>
<td>1.0</td></tr>
<tr><td>XML Name:</td>
<td><code>expression</code></td></tr>
<tr><td>JavaScript Design Type:</td>
<td></td></tr>
<tr><td>JavaScript Runtime Type:</td>
<td></td></tr>
</table>

<h3>Description</h3>

<div class="section-text">
<p>A BIRT expression using 
JavaScript and the BIRT extensions.</p></div>
<hr>
<h2><a name="extends">extends</a></h2>
<div class="section-text">
Identifies the parent element for elements that extend (inherit from) other 
elements.</div>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Display Name:</td>
<td>Extends</td></tr>
<tr><td>Since:</td>
<td>1.0</td></tr>
<tr><td>XML Name:</td>
<td><code>extends</code></td></tr>
<tr><td>JavaScript Design Type:</td>
<td></td></tr>
<tr><td>JavaScript Runtime Type:</td>
<td></td></tr>
</table>

<h3>Description</h3>

<div class="section-text">
<p>A reference to a parent element of the same type as the derived element. This 
property type is used in just one place to implement element inheritance.</p></div>
<hr>
<h2><a name="float">float</a></h2>
<div class="section-text">
A decimal number such as "1", "1.33" or "2.5."</div>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Display Name:</td>
<td>Float</td></tr>
<tr><td>Since:</td>
<td>1.0</td></tr>
<tr><td>XML Name:</td>
<td><code>float</code></td></tr>
<tr><td>JavaScript Design Type:</td>
<td></td></tr>
<tr><td>JavaScript Runtime Type:</td>
<td></td></tr>
</table>

<h3>Description</h3>

<div class="section-text">
<p>A floating-point number. Not used in Release 1.</p></div>
<hr>
<h2><a name="html">html</a></h2>
<div class="section-text">
Represents a html value</div>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Display Name:</td>
<td>Html</td></tr>
<tr><td>Since:</td>
<td>1.0</td></tr>
<tr><td>XML Name:</td>
<td><code>html</code></td></tr>
<tr><td>JavaScript Design Type:</td>
<td></td></tr>
<tr><td>JavaScript Runtime Type:</td>
<td></td></tr>
</table>

<h3>Description</h3>

<div class="section-text">
<p>Property that stores html value. Model doesn't do validation to this property type.</p></div>
<hr>
<h2><a name="integer">integer</a></h2>
<div class="section-text">
An integer in the range 0 to 2<sup>32</sup> - 1.</div>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Display Name:</td>
<td>Integer</td></tr>
<tr><td>Since:</td>
<td>1.0</td></tr>
<tr><td>XML Name:</td>
<td><code>integer</code></td></tr>
<tr><td>JavaScript Design Type:</td>
<td></td></tr>
<tr><td>JavaScript Runtime Type:</td>
<td></td></tr>
</table>

<hr>
<h2><a name="list">list</a></h2>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Display Name:</td>
<td>List</td></tr>
<tr><td>Since:</td>
<td>1.0</td></tr>
<tr><td>XML Name:</td>
<td><code>list</code></td></tr>
<tr><td>JavaScript Design Type:</td>
<td></td></tr>
<tr><td>JavaScript Runtime Type:</td>
<td></td></tr>
</table>

<hr>
<h2><a name="literalString">literalString</a></h2>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Display Name:</td>
<td>Literal String</td></tr>
<tr><td>Since:</td>
<td>1.0</td></tr>
<tr><td>XML Name:</td>
<td><code>literalString</code></td></tr>
<tr><td>JavaScript Design Type:</td>
<td></td></tr>
<tr><td>JavaScript Runtime Type:</td>
<td></td></tr>
</table>

<hr>
<h2><a name="locale">locale</a></h2>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Display Name:</td>
<td>Locale</td></tr>
<tr><td>Since:</td>
<td>1.0</td></tr>
<tr><td>XML Name:</td>
<td><code>locale</code></td></tr>
<tr><td>JavaScript Design Type:</td>
<td></td></tr>
<tr><td>JavaScript Runtime Type:</td>
<td></td></tr>
</table>

<hr>
<h2><a name="memberKey">memberKey</a></h2>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Display Name:</td>
<td>Member Key</td></tr>
<tr><td>Since:</td>
<td>1.0</td></tr>
<tr><td>XML Name:</td>
<td><code>memberKey</code></td></tr>
<tr><td>JavaScript Design Type:</td>
<td></td></tr>
<tr><td>JavaScript Runtime Type:</td>
<td></td></tr>
</table>

<hr>
<h2><a name="name">name</a></h2>
<div class="section-text">
The name field of a structure within a property defined as a structure list.</div>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Display Name:</td>
<td>Name</td></tr>
<tr><td>Since:</td>
<td>1.0</td></tr>
<tr><td>XML Name:</td>
<td><code>name</code></td></tr>
<tr><td>JavaScript Design Type:</td>
<td></td></tr>
<tr><td>JavaScript Runtime Type:</td>
<td></td></tr>
</table>

<h3>Description</h3>

<div class="section-text">
<p>Identifies a property within a structure that provides the name to be used 
for associative lookup in property lists.</p>

<h4>Associative Property Lists</h4>

<p>All property lists allow numeric indexes. Some also allow associative lookup 
using the name of an item in the list. For example, to look up the custom color: 
&quot;seaGreen&quot;:</p>

<pre class="code-block">var colorDefn = designDefn.palette.seaGreen</pre>

<p>or,</p>

<pre class="code-block">var colorDefn = designDefn.palette[ &quot;seaGreen&quot; ]</pre>

<p>The first form can be used when the name to be looked up is known when the 
code is written, and follow the JavaScript identifier naming rules. The second 
form can be used to look up a value when the value is not known ahead of time, 
or when the name does not follow JavaScript identifier rules. For example:</p>

<pre class="code-block">var colorDefn = designDefn.palette[ params.colorName ];
var colorDefn = designDefn.palette[ &quot;Sea-Green&quot; ]</pre>

<p>The associative lookup is provided when:</p>

<ul>
  <li>The list contents are structures, and</li>
  <li>Exactly one of the properties within the structure is of type Name.</li>
</ul></div>
<hr>
<h2><a name="number">number</a></h2>
<div class="section-text">
Arbitrary-precision decimal number</div>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Display Name:</td>
<td>Number</td></tr>
<tr><td>Since:</td>
<td>1.0</td></tr>
<tr><td>XML Name:</td>
<td><code>number</code></td></tr>
<tr><td>JavaScript Design Type:</td>
<td></td></tr>
<tr><td>JavaScript Runtime Type:</td>
<td></td></tr>
</table>

<h3>Description</h3>

<div class="section-text">
<p>An arbitrary-precision decimal number. Is accurate enough to represent the 
largest currency amounts down to two decimal places.</p></div>
<hr>
<h2><a name="resourceKey">resourceKey</a></h2>
<div class="section-text">
A string that should match a message in the customer's message category.</div>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Display Name:</td>
<td>MessageId</td></tr>
<tr><td>Since:</td>
<td>1.0</td></tr>
<tr><td>XML Name:</td>
<td><code>resourceKey</code></td></tr>
<tr><td>JavaScript Design Type:</td>
<td></td></tr>
<tr><td>JavaScript Runtime Type:</td>
<td></td></tr>
</table>

<h3>Description</h3>

<div class="section-text">
<p>A string value, which should match a message in the customer's message category. It allows user
to localize an exteralizable property </p></div>
<hr>
<h2><a name="script">script</a></h2>
<div class="section-text">
Stores a block of script value that can be executed at runtime.</div>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Display Name:</td>
<td>Script</td></tr>
<tr><td>Since:</td>
<td>1.0</td></tr>
<tr><td>XML Name:</td>
<td><code>script</code></td></tr>
<tr><td>JavaScript Design Type:</td>
<td></td></tr>
<tr><td>JavaScript Runtime Type:</td>
<td></td></tr>
</table>

<h3>Description</h3>

<div class="section-text">
<p>A block of script value that is to be executed at runtime, script are not validated in model at design-time</p></div>
<hr>
<h2><a name="string">string</a></h2>
<div class="section-text">
A string value.</div>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Display Name:</td>
<td>String</td></tr>
<tr><td>Since:</td>
<td>1.0</td></tr>
<tr><td>XML Name:</td>
<td><code>string</code></td></tr>
<tr><td>JavaScript Design Type:</td>
<td></td></tr>
<tr><td>JavaScript Runtime Type:</td>
<td></td></tr>
</table>

<h3>Description</h3>

<div class="section-text">
<p>A string value. The string cannot be externalized.</p></div>
<hr>
<h2><a name="structRef">structRef</a></h2>
<div class="section-text">
Represents a reference to another structure.</div>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Display Name:</td>
<td>Structure Reference</td></tr>
<tr><td>Since:</td>
<td>1.0</td></tr>
<tr><td>XML Name:</td>
<td><code>structRef</code></td></tr>
<tr><td>JavaScript Design Type:</td>
<td></td></tr>
<tr><td>JavaScript Runtime Type:</td>
<td></td></tr>
</table>

<h3>Description</h3>

<div class="section-text">
<p>Simply references to another structure, it can be in two states: resolved or unresolved.</p></div>
<hr>
<h2><a name="structure">structure</a></h2>
<div class="section-text">
The property is given by a structure</div>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Display Name:</td>
<td>Property.struct</td></tr>
<tr><td>Since:</td>
<td>1.0</td></tr>
<tr><td>XML Name:</td>
<td><code>structure</code></td></tr>
<tr><td>JavaScript Design Type:</td>
<td></td></tr>
<tr><td>JavaScript Runtime Type:</td>
<td></td></tr>
</table>

<h3>Description</h3>

<div class="section-text">
<p>A structure property is one made up of a set of named fields. Structure 
properties are often lists.</p></div>
<hr>
<h2><a name="uri">uri</a></h2>
<div class="section-text">
A Uniform Resource Identifier (URI).</div>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Display Name:</td>
<td>Uri</td></tr>
<tr><td>Since:</td>
<td>1.0</td></tr>
<tr><td>XML Name:</td>
<td><code>uri</code></td></tr>
<tr><td>JavaScript Design Type:</td>
<td></td></tr>
<tr><td>JavaScript Runtime Type:</td>
<td></td></tr>
</table>

<h3>Description</h3>

<div class="section-text">
<p>A URI of the form "http:", "file:", "iServer:", or "mailto:".</p></div>
<hr>
<h2><a name="xml">xml</a></h2>
<div class="section-text">
An XML string.</div>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Display Name:</td>
<td>Xml</td></tr>
<tr><td>Since:</td>
<td>1.0</td></tr>
<tr><td>XML Name:</td>
<td><code>xml</code></td></tr>
<tr><td>JavaScript Design Type:</td>
<td></td></tr>
<tr><td>JavaScript Runtime Type:</td>
<td></td></tr>
</table>

<h3>Description</h3>

<div class="section-text">
<p>Text in XML format. Is often a fragment of XML rather than a complete file. 
The use of this property tells the design file writer to enclose the value in a 
CDATA block.</p></div>
<hr>
</dl>

</body>
</html>
